Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>.NET Compiler Platform</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/.NET_Compiler_Platform"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-_NET_Compiler_Platform rootpage-_NET_Compiler_Platform skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">.NET Compiler Platform</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p><b>.NET Compiler Platform</b> (Codename <b>Roslyn</b>) ist der Name für eine von <a href="Microsoft" title="Microsoft">Microsoft</a> entwickelte <a href="Plattform_(Computer)" title="Plattform (Computer)">Plattform</a>, die <a href="Compiler" title="Compiler">Compiler</a> für die <a href=".NET_(Oberbegriff)" title=".NET (Oberbegriff)">.NET</a>-Programmiersprachen <a href="C-Sharp" title="C-Sharp">C#</a> und <a href="Visual_Basic_.NET" title="Visual Basic .NET">Visual Basic .NET</a> beinhaltet. Diese Compiler dienen der Kompilierung von C#- oder VB-Code in <a href="Common_Intermediate_Language" title="Common Intermediate Language">CIL</a>-Code und wurden als Nachfolger für die ursprünglichen, für diese Sprachen entstandenen Compiler entwickelt, unter anderem deshalb, um besser mit dem im Laufe der Zeit gestiegenen Funktionsumfang der beiden Programmiersprachen umgehen zu können. Die Plattform beinhaltet zudem eine <a href="Klassenbibliothek" class="mw-redirect" title="Klassenbibliothek">Klassenbibliothek</a> und <a href="Programmierschnittstelle" title="Programmierschnittstelle">Programmierschnittstellen</a>, unter anderem für die Codeanalyse, für Erweiterungen der Entwicklungsumgebung <a href="Visual_Studio" title="Visual Studio">Visual Studio</a> und für die Erweiterung des Compilers selbst. Im Gegensatz zu den ursprünglichen Compilern, die in <a href="C%2B%2B" title="C++">C++</a> programmiert wurden, sind die in der Plattform enthaltenen Compiler in den Programmiersprachen geschrieben, für die sie vorgesehen sind, d. h. der C#-Compiler wurde in C# programmiert und der VB-Compiler in VB .NET. Der <a href="PeachPie" title="PeachPie">Peachpie</a>-Compiler für die Programmiersprache <a href="PHP" title="PHP">PHP</a> (Vorschau im September 2020) dagegen wird in C# entwickelt.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p>

<div class="mw-heading mw-heading2"><h2 id="Geschichte">Geschichte</h2></div>
<p>Die Geschichte der Plattform reicht bis mindestens 2010 zurück. Ehe Visual Studio 2015 erschien, trug das Projekt den Codenamen <i>Roslyn</i>. Microsoft veröffentlichte eine erste Vorabversion im Oktober 2011 als <a href="Visual_Studio_2010" class="mw-redirect" title="Visual Studio 2010">Visual-Studio-2010-Erweiterung</a>, die nach vielen Aktualisierungen der Roslyn-API für <a href="Microsoft_Visual_Studio#Version_2012" class="mw-redirect" title="Microsoft Visual Studio">Visual Studio 2012</a> als Erweiterung heruntergeladen werden konnte.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> Im April 2014 folgte die Freigabe als quelloffene Software unter der <a href="Apache-Lizenz" title="Apache-Lizenz">Apache-Lizenz</a> 2.0. Die Spracheigenschaften der Versionen C# 6 und Visual Basic.NET 14 sind ausschließlich mit der Roslyn-Erweiterung zu nutzen.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> Die APIs sind mit dem Paket-Manager <a href="NuGet" title="NuGet">NuGet</a> ab Version 2.8.1 erhältlich.
</p><p>Mit dem Erscheinen von VS 2015 verließ das Projekt die Entwicklungsphase, einhergehend mit der Umbenennung in <i>.NET Compiler Platform</i> und der Veröffentlichung als <a href="Open-Source" class="mw-redirect" title="Open-Source">Open-Source</a>-Software. In VS 2015 ersetzen die in der Plattform enthaltenen Compiler erstmals die ursprünglichen Compiler.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Anwendung">Anwendung</h2></div>
<p>Durch Roslyn wird es möglich, in einem .NET-Programm .NET-Programmcode zu analysieren, zu generieren, syntaktisch zu überprüfen, zu transformieren etc. So können z.&nbsp;B. bestehende <a href="C-Sharp" title="C-Sharp">C#</a>-Befehle erweitert, abgeändert und neue hinzugenommen werden, indem der Compiler durch eigenen Programmcode erweitert oder geändert wird. Auch kann man für andere <a href="Plattform_(Computer)" title="Plattform (Computer)">Plattformen</a> kompilieren, indem man die Generierung des .NET-<a href="Bytecode" title="Bytecode">Bytecode</a> (<a href="Common_Intermediate_Language" title="Common Intermediate Language">CIL-Code</a>) durch die Erstellung einer anderen <a href="Ausf%C3%BChrbare_Datei" title="Ausführbare Datei">ausführbaren Datei</a> ersetzt. <a href="Codegenerator" title="Codegenerator">Codegeneratoren</a>, die z.&nbsp;B. <a href="VB.NET" class="mw-redirect" title="VB.NET">VB.NET</a> in andere Sprachen übersetzen oder C#-<a href="Compiler#Syntaktische_Analyse" title="Compiler">Syntaxprüfung</a> bzw. -<a href="Syntaxhervorhebung" title="Syntaxhervorhebung">Syntaxhervorhebung</a> werden damit ebenfalls relativ einfach möglich, da jeweils über die API auf einzelne Teile des Compilers (z.&nbsp;B. auf den <a href="Parser" title="Parser">Parser</a> oder den <a href="Abstrakter_Syntaxbaum" class="mw-redirect" title="Abstrakter Syntaxbaum">Syntaxbaum</a><sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>) zugegriffen werden kann.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2></div>
<ul><li>Fabian Deitelhoff: <a rel="nofollow" class="external text" href="https://www.heise.de/developer/artikel/Neues-zu-Roslyn-und-C-2292919.html"><i>Rosige Aussichten</i></a>, in: <a href="Heise_online" title="Heise online">heise developer</a> vom 15. August 2014</li>
<li>Rainer Stropek: <i>Die neue .NET Compiler Platform.</i> In: <a href="Windows_Developer" title="Windows Developer">Windows Developer</a> Nr. 10/2015, S. 16–19.</li>
<li>Matthias Withopf: <a rel="nofollow" class="external text" href="https://www.heise.de/ix/artikel/Scheibenweise-1475294.html"><i>Scheibenweise. Microsoft öffnet .Net-Compiler mit Roslyn</i></a>, in: <a href="IX_%E2%80%93_Magazin_f%C3%BCr_professionelle_Informationstechnik" title="IX – Magazin für professionelle Informationstechnik">iX – Magazin für professionelle Informationstechnik</a> Nr. 4/2012</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://roslyn.codeplex.com/documentation">Dokumentation</a> auf <a href="CodePlex" title="CodePlex">CodePlex</a></li>
<li><a rel="nofollow" class="external text" href="https://github.com/dotnet/roslyn">Quelltext der .NET Compiler Platform</a> auf <a href="GitHub" title="GitHub">GitHub</a></li>
<li><a rel="nofollow" class="external text" href="https://visualstudiogallery.msdn.microsoft.com/2ddb7240-5249-4c8c-969e-5d05823bcb89">.NET Compiler Platform SDK</a> in der Visual Studio Gallery</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://github.com/peachpiecompiler/peachpie"><i>peachpiecompiler/peachpie.</i></a> PeachPie Compiler Platform, 26.&nbsp;September 2020,<span class="Abrufdatum"> abgerufen am 26.&nbsp;September 2020</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3A.NET+Compiler+Platform&amp;rft.title=peachpiecompiler%2Fpeachpie&amp;rft.description=peachpiecompiler%2Fpeachpie&amp;rft.identifier=https%3A%2F%2Fgithub.com%2Fpeachpiecompiler%2Fpeachpie&amp;rft.publisher=PeachPie+Compiler+Platform&amp;rft.date=2020-09-26">&nbsp;</span></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.microsoft.com/en-us/download/details.aspx?id=34685">Microsoft “Roslyn” CTP</a>, Microsoft Download Center</span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r261891140">
/* start https://de.wikipedia.org/ */


.mw-parser-output .webarchiv-memento a{color:inherit}


/* end https://de.wikipedia.org/ */
</style><a rel="nofollow" class="external text" href="https://web.archive.org/web/20150402093458/https://roslyn.codeplex.com/wikipage?title=Language%20Feature%20Status&amp;referringTitle=Documentation">NET Languages features in C# 6 and VB 14</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> vom 2. April 2015 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>), <i>Microsoft Open Technologies</i>: Compiler Platform ("Roslyn")</span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><a href="#cite_ref-4">↑</a></span> <span class="reference-text"><span class="cite">Sebastian Grüner: <a rel="nofollow" class="external text" href="http://www.golem.de/news/visual-studio-2015-ganz-viel-fuer-apps-und-open-source-1507-115308-3.html"><i>Visual Studio 2015 erschienen: Ganz viel für Apps und Open Source.</i></a> In: <i><a href="Golem.de" class="mw-redirect" title="Golem.de">Golem.de</a>.</i> 15.&nbsp;Juli 2015,<span class="Abrufdatum"> abgerufen am 10.&nbsp;Dezember 2015</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3A.NET+Compiler+Platform&amp;rft.title=Visual+Studio+2015+erschienen%3A+Ganz+viel+f%C3%BCr+Apps+und+Open+Source&amp;rft.description=Visual+Studio+2015+erschienen%3A+Ganz+viel+f%C3%BCr+Apps+und+Open+Source&amp;rft.identifier=http%3A%2F%2Fwww.golem.de%2Fnews%2Fvisual-studio-2015-ganz-viel-fuer-apps-und-open-source-1507-115308-3.html&amp;rft.creator=Sebastian+Gr%C3%BCner&amp;rft.date=2015-07-15">&nbsp;</span></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://windowsdeveloper.de/artikel/Wanted-Roslyn-004852.html"><i>Peter Monadjemi</i>: Die kommenden Generationen von C# und Visual Basic</a>. <a href="Windows_Developer" title="Windows Developer">Windows Developer</a>. Abgerufen am 11. Juni 2015.</span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><a href="#cite_ref-6">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.heise.de/developer/artikel/Neues-zu-Roslyn-und-C-2292919.html"><i>Fabian Deitelhoff</i>: Neues zu Roslyn und C# Rosige Aussichten</a> <a href="Heise_online" title="Heise online">Heise</a> Developer. Abgerufen am 9. Juni 2015.</span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><a href="#cite_ref-7">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.heise.de/developer/meldung/Sprachcompiler-fuer-C-und-Visual-Basic-sind-jetzt-Open-Source-2162794.html"><i>Holger Schwichtenberg</i>: Sprachcompiler für C# und Visual Basic sind jetzt Open Source</a>. <a href="Heise_online" title="Heise online">Heise</a> Developer. Abgerufen am 9. Juni 2015.</span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><a href="#cite_ref-8">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.heise.de/ix/artikel/Scheibenweise-1475294.html"><i>Matthias Withopf</i>: Microsoft öffnet .Net-Compiler mit Roslyn</a>. iX Magazin für professionelle Informationstechnik. Abgerufen am 11. Juni 2015.</span>
</li>
</ol></div></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2023-10-16" href="https://de.wikipedia.org/wiki/?title=.NET_Compiler_Platform&amp;oldid=238201879">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>